package com.gopay.common.domain.pg;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * 
 * @PgBtOrderTransDtl.java
 * @author GongZhong
 * @2013-1-4 下午02:01:34 www.gopay.com.cn Inc.All rights reserved.
 */
@Entity
@Table(name = "PG_BT_ORDER_TRANS_DTL")
public class PgBtOrderTransDtl implements java.io.Serializable {
    /**
      * 
      */
    private static final long serialVersionUID = 1L;

    private int transDtlSq;
    private String merId;
    private String merOrderId;
    private String merTxnCd;
    private Date merTxnTm;
    private Date gopayTxnTm;
    private Date gopayServerTime;
    private String gatewayChannel;
    private BigDecimal merTxnAmt;
    private BigDecimal totalOrderAmt;
    private String curType;
    private String merNotifyStat;
    private String constracterId;
    private String checkInFlag;
    private String mainRecvAcct;
    private String mainRecvCustId;
    private String otherRecvInfo;
    private String merNotifyFrontUrl;
    private String merNotifyServerUrl;
    private String goodsInfo;
    private String legalOrderRepaet;
    private String gatewayVersion;
    private String charset;
    private String language;
    private String signType;
    private String goodsName;
    private String buyerName;
    private String buyerContact;
    private String rspCode;
    private String merOrderTranIp;
    private String sysRemark;
    private Date createdTs;
    private Date lastUpdTs;
    private String lastUpdTrancode;
    private String merRemark3;
    private String merRemark1;
    private String merRemark2;
    private String merRemark4;
    private String merRemark5;
    private String payAcct;
    /** 出金账户标识 ：01 国付宝账户  02 银行账户 */
    private String recvAcctType;
    /** 商户上送Refer网站地址 */
    private String merRefer;

    //add by songfengli 20160927
    private String remoteIp;

    public PgBtOrderTransDtl() {
    }

    @Id
    @SequenceGenerator(name = "PgBTOrderTransDtlSequence", sequenceName = "PG_GEN_ORDER_TRANS_DTL_SEQ",allocationSize=1)
    @GeneratedValue(generator = "PgBTOrderTransDtlSequence", strategy = GenerationType.SEQUENCE)
    @Column(name = "TRANS_DTL_SQ", unique = true, nullable = false, precision = 22, scale = 0)
    public int getTransDtlSq() {
        return this.transDtlSq;
    }

    public void setTransDtlSq(int transDtlSq) {
        this.transDtlSq = transDtlSq;
    }

    @Column(name = "MER_ID", nullable = false, length = 10)
    public String getMerId() {
        return this.merId;
    }

    public void setMerId(String merId) {
        this.merId = merId;
    }

    @Column(name = "MER_ORDER_ID", nullable = false)
    public String getMerOrderId() {
        return this.merOrderId;
    }

    public void setMerOrderId(String merOrderId) {
        this.merOrderId = merOrderId;
    }

    @Column(name = "MER_TXN_CD", nullable = false, length = 10)
    public String getMerTxnCd() {
        return this.merTxnCd;
    }

    public void setMerTxnCd(String merTxnCd) {
        this.merTxnCd = merTxnCd;
    }

    @Column(name = "MER_TXN_TM", nullable = false)
    public Date getMerTxnTm() {
        return this.merTxnTm;
    }

    public void setMerTxnTm(Date merTxnTm) {
        this.merTxnTm = merTxnTm;
    }

    @Column(name = "GOPAY_TXN_TM", nullable = false)
    public Date getGopayTxnTm() {
        return this.gopayTxnTm;
    }

    public void setGopayTxnTm(Date gopayTxnTm) {
        this.gopayTxnTm = gopayTxnTm;
    }

    @Column(name = "GOPAY_SERVER_TIME")
    public Date getGopayServerTime() {
        return this.gopayServerTime;
    }

    public void setGopayServerTime(Date gopayServerTime) {
        this.gopayServerTime = gopayServerTime;
    }

    @Column(name = "GATEWAY_CHANNEL", nullable = false, length = 3)
    public String getGatewayChannel() {
        return this.gatewayChannel;
    }

    public void setGatewayChannel(String gatewayChannel) {
        this.gatewayChannel = gatewayChannel;
    }

    @Column(name = "MER_TXN_AMT", nullable = false, precision = 20)
    public BigDecimal getMerTxnAmt() {
        return this.merTxnAmt;
    }

    public void setMerTxnAmt(BigDecimal merTxnAmt) {
        this.merTxnAmt = merTxnAmt;
    }
    
    @Column(name = "TOTAL_ORDER_AMT", nullable = false, precision = 20)
    public BigDecimal getTotalOrderAmt() {
        return this.totalOrderAmt;
    }

    public void setTotalOrderAmt(BigDecimal totalOrderAmt) {
        this.totalOrderAmt = totalOrderAmt;
    }

    @Column(name = "CUR_TYPE", nullable = false, length = 3)
    public String getCurType() {
        return this.curType;
    }

    public void setCurType(String curType) {
        this.curType = curType;
    }

    @Column(name = "MER_NOTIFY_STAT", nullable = false, length = 1)
    public String getMerNotifyStat() {
        return this.merNotifyStat;
    }

    public void setMerNotifyStat(String merNotifyStat) {
        this.merNotifyStat = merNotifyStat;
    }

    @Column(name = "CONSTRACTER_ID", length = 18)
    public String getConstracterId() {
        return this.constracterId;
    }

    public void setConstracterId(String constracterId) {
        this.constracterId = constracterId;
    }

    @Column(name = "CHECK_IN_FLAG", length = 1)
    public String getCheckInFlag() {
        return this.checkInFlag;
    }

    public void setCheckInFlag(String checkInFlag) {
        this.checkInFlag = checkInFlag;
    }

    @Column(name = "MAIN_RECV_ACCT", length = 19)
    public String getMainRecvAcct() {
        return this.mainRecvAcct;
    }

    public void setMainRecvAcct(String mainRecvAcct) {
        this.mainRecvAcct = mainRecvAcct;
    }
    
    @Column(name = "PAY_ACCT", length = 19)
    public String getPayAcct() {
        return this.payAcct;
    }

    public void setPayAcct(String payAcct) {
        this.payAcct = payAcct;
    }

    @Column(name = "MAIN_RECV_CUST_ID", length = 10)
    public String getMainRecvCustId() {
        return this.mainRecvCustId;
    }

    public void setMainRecvCustId(String mainRecvCustId) {
        this.mainRecvCustId = mainRecvCustId;
    }

    @Column(name = "OTHER_RECV_INFO", length = 500)
    public String getOtherRecvInfo() {
        return this.otherRecvInfo;
    }

    public void setOtherRecvInfo(String otherRecvInfo) {
        this.otherRecvInfo = otherRecvInfo;
    }

    @Column(name = "MER_NOTIFY_FRONT_URL", length = 500)
    public String getMerNotifyFrontUrl() {
        return this.merNotifyFrontUrl;
    }

    public void setMerNotifyFrontUrl(String merNotifyFrontUrl) {
        this.merNotifyFrontUrl = merNotifyFrontUrl;
    }

    @Column(name = "MER_NOTIFY_SERVER_URL", length = 500)
    public String getMerNotifyServerUrl() {
        return this.merNotifyServerUrl;
    }

    public void setMerNotifyServerUrl(String merNotifyServerUrl) {
        this.merNotifyServerUrl = merNotifyServerUrl;
    }

    @Column(name = "GOODS_INFO", length = 100)
    public String getGoodsInfo() {
        return this.goodsInfo;
    }

    public void setGoodsInfo(String goodsInfo) {
        this.goodsInfo = goodsInfo;
    }

    @Column(name = "LEGAL_ORDER_REPAET", nullable = false, length = 1)
    public String getLegalOrderRepaet() {
        return this.legalOrderRepaet;
    }

    public void setLegalOrderRepaet(String legalOrderRepaet) {
        this.legalOrderRepaet = legalOrderRepaet;
    }

    @Column(name = "GATEWAY_VERSION", nullable = false, length = 5)
    public String getGatewayVersion() {
        return this.gatewayVersion;
    }

    public void setGatewayVersion(String gatewayVersion) {
        this.gatewayVersion = gatewayVersion;
    }

    @Column(name = "CHARSET", length = 1)
    public String getCharset() {
        return this.charset;
    }

    public void setCharset(String charset) {
        this.charset = charset;
    }

    @Column(name = "LANGUAGE", length = 1)
    public String getLanguage() {
        return this.language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    @Column(name = "SIGN_TYPE", length = 1)
    public String getSignType() {
        return this.signType;
    }

    public void setSignType(String signType) {
        this.signType = signType;
    }

    @Column(name = "GOODS_NAME", length = 200)
    public String getGoodsName() {
        return this.goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    @Column(name = "BUYER_NAME", length = 50)
    public String getBuyerName() {
        return this.buyerName;
    }

    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

    @Column(name = "BUYER_CONTACT", length = 200)
    public String getBuyerContact() {
        return this.buyerContact;
    }

    public void setBuyerContact(String buyerContact) {
        this.buyerContact = buyerContact;
    }

    @Column(name = "RSP_CODE", length = 4)
    public String getRspCode() {
        return this.rspCode;
    }

    public void setRspCode(String rspCode) {
        this.rspCode = rspCode;
    }

    @Column(name = "MER_ORDER_TRAN_IP", nullable = false, length = 40)
    public String getMerOrderTranIp() {
        return this.merOrderTranIp;
    }

    public void setMerOrderTranIp(String merOrderTranIp) {
        this.merOrderTranIp = merOrderTranIp;
    }

    @Column(name = "SYS_REMARK", length = 200)
    public String getSysRemark() {
        return this.sysRemark;
    }

    public void setSysRemark(String sysRemark) {
        this.sysRemark = sysRemark;
    }

    @Column(name = "CREATED_TS")
    public Date getCreatedTs() {
        return this.createdTs;
    }

    public void setCreatedTs(Date createdTs) {
        this.createdTs = createdTs;
    }

    @Column(name = "LAST_UPD_TS")
    public Date getLastUpdTs() {
        return this.lastUpdTs;
    }

    public void setLastUpdTs(Date lastUpdTs) {
        this.lastUpdTs = lastUpdTs;
    }

    @Column(name = "LAST_UPD_TRANCODE", length = 6)
    public String getLastUpdTrancode() {
        return this.lastUpdTrancode;
    }

    public void setLastUpdTrancode(String lastUpdTrancode) {
        this.lastUpdTrancode = lastUpdTrancode;
    }

    @Column(name = "MER_REMARK3", length = 500)
    public String getMerRemark3() {
        return this.merRemark3;
    }

    public void setMerRemark3(String merRemark3) {
        this.merRemark3 = merRemark3;
    }

    @Column(name = "MER_REMARK1", length = 500)
    public String getMerRemark1() {
        return this.merRemark1;
    }

    public void setMerRemark1(String merRemark1) {
        this.merRemark1 = merRemark1;
    }

    @Column(name = "MER_REMARK2", length = 500)
    public String getMerRemark2() {
        return this.merRemark2;
    }

    public void setMerRemark2(String merRemark2) {
        this.merRemark2 = merRemark2;
    }

    @Column(name = "MER_REMARK4", length = 500)
    public String getMerRemark4() {
        return this.merRemark4;
    }

    public void setMerRemark4(String merRemark4) {
        this.merRemark4 = merRemark4;
    }

    @Column(name = "MER_REMARK5", length = 500)
    public String getMerRemark5() {
        return this.merRemark5;
    }

    public void setMerRemark5(String merRemark5) {
        this.merRemark5 = merRemark5;
    }

    @Column(name = "MAIN_RECV_ACCT_TYPE", length = 500)
    public String getRecvAcctType() {
        return this.recvAcctType;
    }

    public void setRecvAcctType(String recvAcctType) {
        this.recvAcctType = recvAcctType;
    }
    
    @Column(name = "REQ_REFER", length = 1000)
    public String getMerRefer() {
        return this.merRefer;
    }

    public void setMerRefer(String merRefer) {
        this.merRefer = merRefer;
    }

    @Column(name = "REMOTE_IP",length = 40)
    public String getRemoteIp() {
        return remoteIp;
    }

    public void setRemoteIp(String remoteIp) {
        this.remoteIp = remoteIp;
    }
}
